package com.rentplant.service;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.rentplant.Pojo.order;
import com.rentplant.Pojo.orderanditem;
import com.rentplant.Pojo.outrentuserinfo;

import java.util.List;

public interface orderService {


//    付款生成待发货订单
    public boolean payOrder(JSONObject orderinfo);

    //    未付款生成待付款订单
    public boolean noPayOrder(JSONObject orderinfo);




    //    查找用户全部订单
    public List<orderanditem> selectAllOrderById(JSONObject orderinfo);



    //    查找该用户的未付款订单
    public List<order> selectOrderNoPay(JSONObject orderinfo);

    //    查找该用户的待收货订单
    public List<order> selectOrderWaitItem(JSONObject orderinfo);

    //    查找租用中订单
    public List<order> selectOrderInRent(JSONObject orderinfo);

    //    查找待归还订单
    public  List<order> selectOrderBack(JSONObject orderinfo);

    //查找已完成和已评价订单
    public  List<order> selectOrderFinish(JSONObject orderinfo);



    //    查找待付款订单
    public List<orderanditem> userOrderNoPay(JSONObject orderinfo);

    //    查找待发货订单
    public List<orderanditem> userOrderWaitItem(JSONObject orderinfo);
    //查找自己出售物品的订单
    public List<orderanditem> otherOrderWaitItem(JSONObject orderinfo);

    //    查找租用中订单
    public List<orderanditem> userOrderInRent(JSONObject orderinfo);

    //    查找待归还订单
    public List<orderanditem> userOrderBack(JSONObject orderinfo);

    //    查找已完成订单
    public  List<orderanditem> userOrderFinish(JSONObject orderinfo);


    //    按照orderid查询订单
    public  List<orderanditem> orderById(JSONObject orderinfo);



    //    确认付款修改订单为待发货
    public boolean updateToWaitItem(JSONObject orderinfo);

    //用户删除未付款的
    public boolean delNoPay(JSONObject orderinfo);

    // 提交交易快照完成交货
    public boolean updateToInRent(JSONObject orderinfo);

    //    提交租赁中快照
    public boolean updatePic(JSONObject orderinfo);

    //续租修改订单信息
    public boolean rentnew(JSONObject orderinfo);


    //删除快照
    public boolean delRentPic(JSONObject orderinfo);

    //归还物品
    public boolean backItemTime(JSONObject orderinfo);
    //    归还完毕将物品下架
    public boolean itemtodel(JSONObject iteminfo);

    //    完成订单付款的对象
    public List<outrentuserinfo>outRentUserInfo(JSONObject userinfo);


    //    订单已评价
    public boolean orderForJudge(String orderid);


    //查找用户物品出租订单
    public List<orderanditem> mineRent(JSONObject openid);



    //    订单管理
//    查询全部分页订单
    public List<order> allOrder(JSONObject pageinfo);
    //    查询全部订单
    public  List<order> allOrders();
    //修改订单信息
    public boolean updateOrder(JSONObject orderinfo);

    //    条件查找
    public List<order> searchOrder(JSONObject searchinfo);
    //    条件查找
    public List<order> searchOrders(JSONObject searchinfo);

}
